<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html">

    <body>
        <ui:composition template="./../../WEB-INF/templates/MainTemplate.xhtml">
            <ui:define name="bar">
                <h:form id="barForm">
                    <p:commandButton styleClass="actionButton" process="@this" value="#{messages.AddLineasFactura}" oncomplete="productosAddDialog.show();"></p:commandButton>
                </h:form>
            </ui:define>

            <ui:define name="dialogs">
                <h:form id="dialogoForm">
                    <p:dialog modal="true" id="productosAddDialog"  widgetVar="productosAddDialog">
                        <p:panel id="panelCodigoBarras">
                            <f:facet name="header">#{messages.CodigosBarra}</f:facet>
                            <p:focus context=":dialogoForm" for="codigoBarrasInput"></p:focus>
                            <p:inputText id="codigoBarrasInput" value="#{editarFacturaMultimarcaBean.codigoBarras}"></p:inputText>
                            <p:commandButton value="#{messages.Add}"  update=":dialogoForm:panelCodigoBarras :dialogoForm:panelProductosAdd" action="#{editarFacturaMultimarcaBean.procesarCodigoBarras()}"></p:commandButton>
                        </p:panel>
                        <p:panel style="height:200px" id="panelProductosAdd">
                            <p:dataTable styleClass="noMargin noPadding noBorder" emptyMessage="#{messages.NoLineasFactura}" id="lineaaFacturaAdd" var="productoTalla" value="#{editarFacturaMultimarcaBean.recuperarProductosTallaAdd()}">
                                <p:column styleClass="center" headerText="#{messages.C}" filterBy="#{productoTalla.producto.c.descripcion}" sortBy="#{productoTalla.producto.c.descripcion}">
                                    #{productoTalla.producto.c.descripcion}
                                </p:column>
                                <p:column styleClass="center" headerText="#{messages.Nombre}" filterBy="#{productoTalla.producto.descripcion}" sortBy="#{productoTalla.producto.descripcion}">
                                    #{productoTalla.producto.descripcion}
                                </p:column>
                                <p:column styleClass="center" headerText="#{messages.Color}" filterBy="#{productoTalla.producto.color}" sortBy="#{productoTalla.producto.color}">
                                    #{productoTalla.producto.color}
                                </p:column>
                                <p:column styleClass="center" headerText="#{messages.Talla}" filterBy="#{productoTalla.talla.descripcion}" sortBy="#{productoTalla.talla.descripcion}">
                                    #{productoTalla.talla.descripcion}
                                </p:column>
                                <p:column styleClass="center" headerText="#{messages.Restan}">
                                    #{editarFacturaMultimarcaBean.recuperarCantidadPedidaDeProductoTalla(productoTalla)-editarFacturaMultimarcaBean.recuperarCantidadServidaDeProductoTalla(productoTalla)}
                                </p:column>
                                <p:column styleClass="center" headerText="#{messages.Descuento}">
                                    <p:inputText styleClass="pvpInput" value="#{editarFacturaMultimarcaBean.recuperarLineaMultimarcaDeProductoTalla(productoTalla).descuento}">
                                    </p:inputText>
                                </p:column>
                                <p:column styleClass="center" headerText="#{messages.Cantidad}">
                                    <p:inputText styleClass="pvpInput" value="#{editarFacturaMultimarcaBean.recuperarLineaMultimarcaDeProductoTalla(productoTalla).cantidad}">
                                        <p:ajax event="change" update=":dialogoForm:panelProductosAdd" listener="#{editarFacturaMultimarcaBean.editarCantidadAdd(productoTalla)}"></p:ajax>
                                    </p:inputText>
                                </p:column>
                            </p:dataTable>
                            <p:commandButton value="#{messages.Add}" disabled="#{!editarFacturaMultimarcaBean.puedeAdd()}" oncomplete="productosAddDialog.hide()" update=":dialogoForm:panelProductosAdd :editarFacturaForm:panelProductosElegidos" action="#{editarFacturaMultimarcaBean.addLineas()}" id="botonAdd"></p:commandButton>
                        </p:panel>
                    </p:dialog>
                </h:form>
            </ui:define>
            <ui:define name="content">
                <h:form id="editarFacturaForm">
                    <p:growl autoUpdate="true" life="4000" id="editarFacturaGrowl"></p:growl>
                    <p:panel id="editarFacturaPanel">
                        <h:panelGrid columns="8">
                            <p:outputLabel for="editarFormaPago" value="#{messages.FormaPago}"></p:outputLabel>
                            <p:selectOneMenu converter="#{formaPagoConverter}" id="editarFormaPago" required="true" value="#{editarFacturaMultimarcaBean.facturaMultimarca.formaPago}" label="#{messages.FormaPago}">
                                <f:selectItem itemLabel="#{messages.SeleccionaFormaPago}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.formasPago}" var="formaPago" itemLabel="#{formaPago.descripcion}" itemValue="#{formaPago}"></f:selectItems>
                            </p:selectOneMenu>
                            <p:outputLabel for="editarDescuento" value="#{messages.Descuento}"></p:outputLabel>
                            <p:inputText valueChangeListener="#{editarFacturaMultimarcaBean.editarTodosDescuentos()}" id="editarDescuento" value="#{editarFacturaMultimarcaBean.facturaMultimarca.descuento}">
                                <p:ajax update=":editarFacturaForm:panelProductosElegidos" listener="#{editarFacturaMultimarcaBean.editarTodosDescuentos()}"></p:ajax>
                            </p:inputText>
                            <p:outputLabel for="editarPorte" value="#{messages.Porte}"></p:outputLabel>
                            <p:inputText id="editarPorte" value="#{editarFacturaMultimarcaBean.facturaMultimarca.precioPorte}"></p:inputText>
                            <p:outputLabel for="editarComentarios" value="#{messages.Comentarios}"></p:outputLabel>
                            <p:inputTextarea id="editarComentarios" value="#{editarFacturaMultimarcaBean.facturaMultimarca.comentarios}"></p:inputTextarea>
                        </h:panelGrid>
                    </p:panel>
                    <p:panel styleClass="noMargin noPadding noBorder" id="panelProductosElegidos">                        
                        <p:dataTable styleClass="noMargin noPadding noBorder" emptyMessage="#{messages.NoLineasFactura}" id="lineaFactura" var="lineaFactura" value="#{editarFacturaMultimarcaBean.facturaMultimarca.lineaFacturaMultimarcaList}">
                            <p:column styleClass="center" headerText="#{messages.C}" filterBy="#{lineaFactura.productoTalla.producto.c.descripcion}" sortBy="#{lineaFactura.productoTalla.producto.c.descripcion}">
                                #{lineaFactura.productoTalla.producto.c.descripcion}
                            </p:column>
                            <p:column styleClass="center" headerText="#{messages.Nombre}" filterBy="#{lineaFactura.productoTalla.producto.descripcion}" sortBy="#{lineaFactura.productoTalla.producto.descripcion}">
                                #{lineaFactura.productoTalla.producto.descripcion}
                            </p:column>
                            <p:column styleClass="center" headerText="#{messages.Color}" filterBy="#{lineaFactura.productoTalla.producto.color}" sortBy="#{lineaFactura.productoTalla.producto.color}">
                                #{lineaFactura.productoTalla.producto.color}
                            </p:column>
                            <p:column styleClass="center" headerText="#{messages.Talla}" filterBy="#{lineaFactura.productoTalla.talla.descripcion}" sortBy="#{lineaFactura.productoTalla.talla.descripcion}">
                                #{lineaFactura.productoTalla.talla.descripcion}
                            </p:column>
                            <p:column styleClass="center" headerText="#{messages.CosteUnitario}" filterBy="#{lineaFactura.coste}" sortBy="#{lineaFactura.coste}">
                                #{lineaFactura.coste}
                            </p:column>
                            <p:column styleClass="center" headerText="#{messages.Restan}">
                                #{editarFacturaMultimarcaBean.recuperarCantidadPedidaDeProductoTalla(lineaFactura.productoTalla)-editarFacturaMultimarcaBean.recuperarCantidadServidaDeProductoTalla(lineaFactura.productoTalla)}
                            </p:column>
                            <p:column styleClass="center" headerText="#{messages.Descuento}" filterBy="#{lineaFactura.descuento}" sortBy="#{lineaFactura.descuento}">
                                <p:inputText styleClass="pvpInput" value="#{lineaFactura.descuento}">
                                    <p:ajax event="change" update=":editarFacturaForm:lineaFactura" listener="#{editarFacturaMultimarcaBean.editarDescuento(lineaFactura)}"></p:ajax>
                                    <f:convertNumber maxFractionDigits="2" minFractionDigits="2"></f:convertNumber>
                                </p:inputText>
                            </p:column>
                            <p:column styleClass="center" headerText="#{messages.Cantidad}" filterBy="#{lineaFactura.cantidad}" sortBy="#{lineaFactura.cantidad}">
                                <p:inputText styleClass="pvpInput" value="#{lineaFactura.cantidad}">
                                    <p:ajax event="change" update=":editarFacturaForm:lineaFactura :editarFacturaForm:botonEditar" listener="#{editarFacturaMultimarcaBean.editarCantidad(lineaFactura)}"></p:ajax>
                                </p:inputText>
                            </p:column>
                            <p:column styleClass="center" headerText="#{messages.Coste}">
                                <p:inputText styleClass="pvpInput" value="#{editarFacturaMultimarcaBean.recuperarCosteLinea(lineaFactura).coste}">
                                    <p:ajax event="change" update=":editarFacturaForm:lineaFactura" listener="#{editarFacturaMultimarcaBean.editarCoste(lineaFactura)}"></p:ajax>
                                    <f:convertNumber maxFractionDigits="2" minFractionDigits="2"></f:convertNumber>
                                </p:inputText>
                            </p:column>
                        </p:dataTable>
                        <p:commandButton disabled="#{!editarFacturaMultimarcaBean.puedeGuardar()}" value="#{messages.Editar}" action="#{editarFacturaMultimarcaBean.editar()}" id="botonEditar"></p:commandButton>
                    </p:panel>
                </h:form>
            </ui:define>
        </ui:composition>
    </body>
</html>
